//package com.lpf;
//
//import okhttp3.*;
//
//import javax.net.ssl.SSLContext;
//import javax.net.ssl.SSLSocketFactory;
//import javax.net.ssl.TrustManager;
//import javax.net.ssl.X509TrustManager;
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.net.URLEncoder;
//import java.security.KeyManagementException;
//import java.security.NoSuchAlgorithmException;
//import java.util.HashMap;
//import java.util.Map;
//import java.util.concurrent.TimeUnit;
//
//public class OkHttpUtil {
//    private final static int READ_TIMEOUT = 30;
//    private final static int CONNECT_TIMEOUT = 20;
//    private final static int WRITE_TIMEOUT = 20;
//
//    public static OkHttpClient.Builder buildOKHttpClient() {
//        try {
//            TrustManager[] trustAllCerts = buildTrustManagers();
//
//            SSLContext sslContext = SSLContext.getInstance("SSL");
//            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
//
//            SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
//
//            OkHttpClient.Builder builder = new OkHttpClient.Builder();
//            builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);
//            builder.hostnameVerifier((hostname, session) -> true);
//
//            return builder;
//        } catch (NoSuchAlgorithmException | KeyManagementException e) {
//            e.printStackTrace();
//        }
//        return new OkHttpClient.Builder();
//    }
//
//    private static TrustManager[] buildTrustManagers() {
//        return new TrustManager[]{
//                new X509TrustManager() {
//                    @Override
//                    public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {}
//
//                    @Override
//                    public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {}
//
//                    @Override
//                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
//                        return new java.security.cert.X509Certificate[]{};
//                    }
//                }
//        };
//    }
//
//    /**
//     * @param pmap
//     * @return
//     * @ Deprecated :map参数转为string
//     */
//    public static String map2Url(Map<String, Object> pmap) {
//        String postpar = "";
//        // map格式的请求参数
//        if (pmap != null) {
//            StringBuffer mstr = new StringBuffer();
//            for (String str : pmap.keySet()) {
//                String val = (String) pmap.get(str);
//                try {
//                    val = URLEncoder.encode(val, "UTF-8");
//                } catch (UnsupportedEncodingException e) {
//                    e.printStackTrace();
//                }
//                mstr.append(str + "=" + val + "&");
//            }
//            postpar = mstr.toString();
//            int lasts = postpar.lastIndexOf("&");
//            postpar = postpar.substring(0, lasts);
//        }
//        return postpar;
//    }
//
//    static Response response;
//
//    /**
//     * @param json
//     * @param url
//     * @param pmap
//     * @return
//     * @ Deprecated :发送请求
//     */
//    public static String sendByHttps(String json, String url, Map<String, Object> pmap) {
//        String respContent = null;
//        try {
//            MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
//            String pString = map2Url(pmap);
//            if (pString != null & pString.length() > 0) {
//                url += "?" + pString;
//            }
//            Request request = new Request.Builder()
//                    .url(url)
//                    .headers(Headers.of(new HashMap<>()))
//                    .post(RequestBody.create(mediaType, json))
//                    .build();
//
//            OkHttpClient okHttpClient = buildOKHttpClient()
//                    .connectTimeout(CONNECT_TIMEOUT, TimeUnit.SECONDS)
//                    .readTimeout(READ_TIMEOUT, TimeUnit.SECONDS)
//                    .writeTimeout(WRITE_TIMEOUT, TimeUnit.MILLISECONDS)
//                    .build();
//            response = okHttpClient.newCall(request).execute();
//
//            if (response.code() == 200) {
//                ResponseBody respBody = response.body();
//                respContent = respBody == null ? null : respBody.string();
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            if (response != null) {
//                response.close();
//            }
//        }
//        return respContent;
//    }
//
//
//    public static void main(String[] args) {
//        // 参数封装
//        HashMap<String, Object> pmap = new HashMap<>();
//        pmap.put("param", "param");
//        pmap.put("token", "token");
//        // url
//        String url = "";
//        // body
//        String json = "";
//        String s = sendByHttps(json, url, pmap);
//        System.out.println(s);
//
//    }
//}
